Illuminant estimation

ABSTRACT

In a method of chromagenic illuminant estimation pixels from mutually-corresponding images with different filtering are compared, a fraction of the brightest pixels being selected for a subsequent chromagenic estimation. The pixels may be at corresponding locations or they may correspond in that their mean brightness is in the same rank order. In one method, in which, in a first preprocessing stage, for a database of m lights E i (λ) and n surfaces S j (λ) there is calculated T i ˜Q F Q +  where Q 1   F  and Q F  represent the matrices of unfiltered and filtered sensor responses to the n surfaces under the i th light and + denotes an inverse, and in a second operation stage, given P surfaces in an image and 3×P matrices Q and Q F , from these matrices there are chosen the r % brightest pixels giving the matrices Q′ and Q′ F , and the scene illuminant P est  is estimated where formula (I) and (II).

FIELD OF THE INVENTION

The present invention relates to illuminant estimation, and in particular to a method of chromagenic illuminant estimation which concentrates on the brightest pixels. The results of the estimation may be used in the fields of digital photography or computer visuals etc. to remove the colour biases from images due to the illumination.

BACKGROUND OF THE INVENTION

Chromagenic illuminant estimation exploits the relationship between RGBs captured with a conventional digital camera and RGBs captured when a coloured filter is placed in front of the camera. This approach has two problems. First, performance is fragile; occasionally the estimation is poor. Second, there is a requirement for registered images, yet typical chromagenic cameras (e.g. a stereo rig or two surveillance cameras) will have non registered pixels.

In embodiments of the present invention, we carry out a detailed colour space error analysis of chromagenic illuminant estimation and identify RGBs which will likely lead to good and poor performance. While the good and poor sets overlap they are not the same and we find that bright RGBs tend to yield correct illuminant estimates. The bright-chromagenic algorithm attempts to find these RGBs by selecting a fixed percentage of the brightest pixels in the filtered and unfiltered images using these for chromagenic estimation. This simple strategy leads to very good estimation performance. On a large set of images including synthetic, half-synthetic and real images the bright-chromagenic algorithm delivers excellent estimation which is at least as good as all antecedent colour constancy algorithms. Bright-chromagenic plus gamut mapping delivers estimation performance which is strictly better than all other algorithms tested. Because the selection of the brightest pixels is carried out independently for the filtered and unfiltered images, the bright-chromagenic algorithm does not need any image registration and this is idea is also validated in the experiments.

The human visual system is reasonably colour constant: the colour of objects are stable when viewed under different colours of light. However, it has proven difficult to emulate this colour constancy in manufactured devices. This is not only a problem in image reproduction (e.g. digital photography) but also for a variety of computer vision tasks, such as tracking [9], indexing [16] and scene analysis [10] where stable measures of reflectance are sought or assumed for objects in a scene.

Colour constancy is generally broken down into two parts. First, the colour of the prevailing illuminant is estimated. Then, at a second stage, the colour bias due to illumination is removed. This second part is in fact quite easy and so most colour constancy algorithms focus on the illuminant estimation problem. Starting with Land's retinex [12], numerous algorithms for illuminant estimation have been proposed. The first group of algorithms make simple assumptions about the scene being observed, such as MaxRGB, in which a maximally reflective patch exists in the image (e.g. a white reflectance or equally there are surfaces, such as yellow and blue, that added together would make white), or Gray World, in which the average reflectance in a scene is gray [3].

Another group of algorithms comprises more sophisticated approaches such as neural networks, colour by correlation, which is a Bayesian method that correlates the RGBs in the image with plausible RGBs under various illuminants to find the best illuminant [6] and gamut mapping methods [7]. The last approach exploits the observation that the range, or gamut, of colours recorded by a camera depends on the colour of the light. If an RGB does not fall inside the gamut for a given light, then that light cannot be the solution to illuminant estimation. The gamut constrained illuminant estimation algorithm of Finlayson and Hordley delivers the best performance over all algorithms tested on the Simon Fraser set of real images. However, this performance is bought at the price of quite a complex algorithm. This is generally true: the simple normalisation approaches deliver reasonable performance but, thus far, the best performance requires complex algorithmic inference.

Chromagenic theory proposes that the illuminant estimation problem is easier to solve if two images of a scene are recorded: the first image is captured as normal but the second image is captured through a coloured filter. This idea seems reasonable as we often take multiple images in computer vision to help solve problems that are hard in a single image. For example, in stereo, triangulation of two images are used to recover 3-d position of points in the scene, and in photometric vision, a pair of images captured with respect to two orthogonal polarising filters can be used to identify and remove specular highlights [13].

The standard chromagenic colour constancy algorithm [5] works in two stages. The training stage is a preprocessing step where the relationship, a linear mapping, between filtered and unfiltered RGBs is calculated for a number of candidate lights. Then, those relations are tested on other images in order to estimate the actual scene illuminant. Encouragingly, like a basic stereo algorithm, the basic chromagenic algorithm often works well and this indicates both that a linear map models the relationship between filtered and unfiltered RGBs well and that the maps for different lights are different from one another. Rather discouragingly, the basic algorithm can fail rather badly.

The chromagenic algorithm's poor performance is due to two problems. Firstly, the map that best models the relationship between filtered and unfiltered RGBs can correspond to the wrong light. That is to say that the precalculated maps do a good job of modelling the broad trends in the data but there are specific instances (combinations of reflectances) where they work more poorly. This problem is analogous to difficulties encountered in colour correction by mapping the colour a camera records for display. In general most camera colours are mapped correctly but there always colours in photographs that look wrong (e.g. the violet colour of the ‘morning glory’ flower is generally poorly reproduced). The second problem is more down to basic engineering. The chromagenic theory is predicated on the assumption that we have pixel-wise correspondence. Indeed, to achieve the best performance, one has to compare RGBs transitions that occur between identical reflectances. Recalling the analogy to stereo, we know that stereo works when we have good pixel correspondence but finding the correspondences is the essence of much stereo research. Similarly, experiments have shown that chromagenic illuminant estimation can work, but again we need appropriate correspondences.

SUMMARY OF THE INVENTION

According to a first aspect of the present invention, there is provided a method of chromagenic illuminant estimation in which, from mutually-corresponding mages with different sets of spectral components, a fraction of the brightened pixels are used for a subsequent chromagenic estimation.

In general, if there is an image with N sensor channels, the first p measurements can be related to the second q measurements, where p+q=N.

Preferably, the images have different filtering. The images may comprise a filtered image and an unfiltered image.

There may be compared pixels with their mean brightness in the same rank order.

Alternatively there may be compared pixels in the images which are in the same pixel location.

There may be selected 0.5 to 20%, preferably 1 to 3%, and most preferably substantially 1% of the brightest pixels.

The chromagenic algorithm works by comparing m responses in a first image to a corresponding n responses in a second image.

As described in connection with our co-pending application filed on even date entitled “Detecting Illumination in Images” and claiming priority from UK patent applications 0622251.7 and 0710786.5, the number of sensors is also not important for our invention. Indeed, given a q sensor camera, our method will still work if p of the sensor responses, recorded for different lights and surfaces, are related to the remaining q−p responses by some function f( ). In one embodiment q=6 and p=3, but equally q and p could be any two numbers where p<q:q=7 and p=2, or q=3 and p=1. The last case draws attention to the fact that for a conventional RGB camera, we can relate the blue responses to the red and green responses in the manner described above. And, even though the relationship is less strong, the method will still provide a degree of illumination detection. (It will be noted that q corresponds generally to m+n in the preceding paragraph and p corresponds generally to n.)

Also, the means by which we relate the first p responses to the remaining q−p responses (for a q response camera) can be written in several general forms. Where q=6 and p=3, the unfiltered responses are related to filtered responses by a 3×3 matrix transform. More generally, this map could be any function of the form f:

³→

³ (a function that maps a 3-dimensional input to a 3 dimensional output). For an arbitrary q (number of sensors) and p (number of dependent responses), the mapping function f:

^(q-p)→

^(p).

We also point out that we can generalise how we compute the distances ∥f(I_(k) ^(q-p))−I_(k) ^(p)∥ where I^(q-p) and I^(p) denote the first q−p and remaining p responses and the subscript k indexes the kth pixel or region). We can do this in two ways. First, we can use an arbitrary definition of the magnitude function ∥•∥ e.g. it could be the standard Euclidean distance, or, it could be any reasonable distance function (e.g. such as one of the Minkowski family of norms). Second, we observe that if f(I_(k) ^(q-p))≈I_(k) ^(p) then this implies that the q vector lies in a particular part of q-dimensional space. For example, f( ) is a p×(q−p) matrix transform then the q vector of responses must lie on a q−p dimensional plane embedded in q space. Thus, rather than computing a relation f( ) directly and then calculating ∥f(I_(k) ^(q-p))−I_(k) ^(p)∥ we could instead calculate the distance of the q dimensional plane. It follows we might rewrite our fitting function as: ∥P(I_(k))−I_(k)∥ where P projects the q vector onto some q−p dimensional plane. Subtracting the projected vector from the original then makes a suitable distance measure.

We can extend this idea still further and write ∥P(I_(k))−I_(k)∥≡∥P^(⊥)(I_(k))∥ where P^(⊥)(I_(k)) projects the q vector of responses onto the p dimensional plane orthogonal to the q−p dimensional plane where we expect I_(k) to lie. More generally, we might calculate the measure P(I_(k)) where P is a function that returns a small number when the response vector is likely for the illuminant under consideration. Here P could, for example, be some sort of probabilistic measure.

In the preferred embodiments of the present invention we determine the fit, or likelihood, that a given q-vector of responses occurs for a given light in a preprocessing step. This might be the 3×3 matrices best mapping RGBs to filtered counterparts for a given training set. Alternatively, for other embodiments we could precalculate the best relations of the form f:

^(p-q)→

^(p). Or, if we use the position of the response vectors directly, then we could precalculate the best fitting plane or precalculate a probabilistic model which ascribes a likelihood that given q vectors occur under different lights. However, we note that that the fit, or likelihood, that a given q-vector of responses occurs for a given light can be computed within a single image by using the image statistics. For example, for the case of 3×3 linear maps taking RGBs to filtered counterparts and where there are just two lights present in a scene we might find the pair of transforms that best accounts for the image data (one of the pair is applied at each pixel according to which light is present) by using robust statistics. We find the best 3×3 matrix that maps at least 50% of the image plus one pixel to corresponding filtered counterparts. The remaining pixels are treated as outliers and can be fit separately. The inliers and outliers determine which part of the image are lit by the different lights. Our experiments indicate good illuminant detection in this case. Further, all the different combinations of distance measures, and fitting functions described above, could, in principle, be trained on the image data itself, using standard techniques.

To summarise, when the position of the q vector of responses measured by a camera depends strongly on illumination and weakly on reflectance we can use the position in q space to measure the likelihood of this response occurring under that light. This likelihood can be calculated in many ways including testing the relationship between the first q−p responses to the last p responses (using linear or non linear functions and any arbitrary distance measure). Equally, the position of the q vector can be used directly and this includes calculating the proximity to a given plane or by a computing a probablistic or other measure. The information that is needed to measure whether a q vector is consistent with a given light can be precalculated or can be calculated based on the statistics of the image itself.

According to a second aspect of the present invention, there is provided a method of chromagenic illuminant estimation in which, in a first preprocessing stage, for a database of m lights E_(i)(λ) and n surfaces S_(j)(λ) there is calculated T_(i)=Q_(i) ^(F)Q_(i) ⁺ where Q_(i) and Q_(i) ^(F) represent the matrices of unfiltered and filtered sensor responses to the n surfaces under the i th light and + denotes an inverse, and in a second operation stage, given P surfaces in an image and 3×P matrices Q and Q^(F), from these matrices there are chosen the r % brightest pixels giving the matrices Q′ and Q′^(F) and the scene illuminant p_(est) is estimated where

${est} = {\min\limits_{i}{\left( {err}_{i} \right)\left( {{i = 1},2,\ldots\mspace{14mu},m} \right)}}$ and err_(i) = T_(i)Q^(′) − Q^(′ F)

In one preferred embodiment, the inverse indicated by + is a pseudo-type inverse.

In another preferred embodiment, the inverse indicated by + is an unweighted inverse, e.g. the Moore Penrose inverse,

Accordingly to a third aspect of the invention a gamut mapping estimation is combined with a chromagenic estimation method according to the first and second aspects.

According to a fourth aspect of the present invention, there is provided a method of removing from image signals the colour bias due to illumination based on the estimation of the illuminant obtained by the method according to any of the first, second or third aspects.

According to a fifth aspect of the present invention there is provided an image treatment system comprising means for estimating the illuminant in accordance with the method according to any of the first, second or third aspects, and means for using the estimate produced to remove from the image the colour bias due to the illuminant.

According to a sixth aspect of the present invention there is provided a method of chromagenic illuminant estimation in which, from mutually-corresponding filtered and unfiltered images, a fraction of the brightest pixels are selected for a subsequent chromagenic estimation.

Embodiments of the present invention comprise a number of successive stages. Firstly, we undertake a detailed error analysis of the chromagenic algorithm. We characterise the set of reflectances for which the algorithm works well and the set for which it works poorly. We find that fairly desaturated colours work well (this set includes not only whites and greys but also pastel colours). In contrast, poor performance is observed for highly saturated colours and highly saturated dark colours in particular.

This leads to the next stage. We observe that, assuming a reasonable colour diversity in a scene, the bright colours should belong to the set where the chromagenic algorithm works well. So, we propose using only the bright colours in the chromagenic algorithm.

The third stage is to observe that subject to this bright-is-right assumption we can find bright pixels in the filtered and unfiltered image pairs and assume correspondence without worrying about registration. Note that here we can have two quite different views (e.g. from two cameras in wide base line stereo or two surveillance cameras) and still carry out chromagenic constancy processing.

Experiments on real and synthetic images validate our approach. Using the standard Simon Fraser testing protocol [1], the bright-chromagenic algorithm is shown to be as good as the more complex theories. Combined with gamut mapping the bright-chromagenic approach outperforms all other algorithms.

There will first be discussed some details of image formation, computational colour constancy and the mathematical bases of the chromagenic theory.

Image Formation and Chromagenic Theory

The sensor responses p_(k) of a typical digital camera are a combination of the sensor spectral sensitivities Q_(k)(λ) and of a colour signal, C(λ), that describes the amount of energy incident upon the image sensor. The total response of the sensor can be described as ρ_(k)=∫_(ω) C(λ)Q _(k)(λ)dλ  (1) where ω denotes the range of wavelengths where the sensor has a non-zero response.

Assuming a Lambertian model of image formation, one can express C(λ) as the product of the spectral power distribution of an illuminating source E(λ) and a reflectance function S(λ). Equation 1 can be rewritten as ρ_(k)=∫_(ω) E(λ)S(λ)Q _(k)(λ)dλ  (2)

A conventional camera has a trichromatic response, so k is usually represented as {R,G,B}. In addition to this conventional RGB triplet, we use a chromagenic filter to obtain another, filtered, image of the same scene. In this case, the sensor response can be calculated as ρ_(k) ^(F)=∫_(ω) E(λ)S(λ)F(λ)Q _(k)(λ)dλ  (3) where F(λ) is the transmittance of the chromagenic filter. Using those 2 images, we record six responses per pixel, p and p^(F) that form the input to the illuminant estimation problem. For present purposes, we set out to recover p_(E): the RGB of the illuminant. Chromagenic Illuminant Estimation

Let us first consider the relationship between filtered and unfiltered RGBs (Equations 2 and 3). It has been shown in [14] and [4] that when the same surfaces are viewed under two lights, the corresponding RGBs can be related by a linear transform. Here F(λ)E(λ) can be thought of as a second light and so we use a 3×3 matrix to relate the RGBs captured with and without the coloured filter. We thus have: ρ ^(F) =T _(E) ^(F) ρ  (4) where T_(E) ^(F) is a 3×3 linear transform that depends on both the chromagenic filter and the scene illuminant. Equation 4 implies that, given the chromagenic filter and sensor responses under a known illuminant, we can predict the filtered responses.

Chromagenic illuminant estimation proceeds in two stages: preprocessing and operation. In the preprocessing stage for the ith of n lights we calculate Ti: the 3×3 matrix that best maps the RGBs measured for a reference set of surfaces (under light) i) to its filtered counterparts. In the operation we use the precalculated transforms to estimate the light. Let Q and Q^(F) denote the 3×p matrices of unfiltered and filtered RGBs of arbitrary reflectances under an unknown light. For each plausible illuminant, we calculate the fitting error e _(i) =∥T _(i) Q−Q ^(F) ∥;i=1, . . . ,n  (5) under the assumption that E_(i)(λ) is the actual scene illuminant. We then choose the transform that minimises the error and surmise that it corresponds to the scene illuminant. The RGB of the estimated illuminant is then found by a simple indexing operation.

In [5] it was shown that this simple algorithm can deliver good colour constancy. Unfortunately, the algorithm does on occasion fail badly, that is it can deliver a completely wrong answer. Aspects of the present invention seek to understand and ameliorate this failure.

BRIEF DESCRIPTION OF THE DRAWINGS

A preferred embodiment of the present invention will now be described, by way of example only, with reference to the accompanying drawings of which:

FIG. 1 a shows the sensitivities of a Sony DXC-930 camera, with relative sensitivity being plotted against wavelength;

FIG. 1 b relates to the bluish Wratter filter used in the experiments, with % transmittance being plotted against wavelength;

FIG. 2 a shows a brightness-saturation scatter plot of the 20% worst performing RGBs;

FIG. 2 b shows the brightness-saturation scatter plot of the 20% best performing RGBs;

FIG. 2 c shows the equi-variance ellipses of both sets, each containing 90% of their respective data, showing they are mostly disjoint.

FIG. 3 a shows the comparison of the median angular error for both the original and brightest only methods with median angular error being plotted against log 2 of surfaces; the gamut constrained version is also displayed (dashed);

FIG. 3 b shows the comparison of the max angular error, with maximum angular error (in degrees) being plotted against log 2 of reflectances per mage;

FIG. 4 a relates to the filtered and unfiltered illuminants and represents the eight light sources considered in this experiment, with intensity being plotted against wavelength; the dashed lines are spectra of the light sources, while the continuous ones are from the filtered sources; and

FIG. 4 b relates to the filter derived from the light source data, with % transmittance being plotted against wavelength; the maximum transmittance higher than 1 is due to the camera auto-exposure function; while this is not the data of the physical filter it is what the camera “sees” and therefore what we used in training the transforms.

DETAILED DESCRIPTION OF PREFERRED VERSIONS OF THE INVENTION

There will now be discussed the present proposal to discriminate reflectances according to their performance. This involves modelling inliers and outliers.

The protocol for our experiments follows the design of Barnard et al [2] who have previously conducted a thorough analysis of many leading illuminant estimation algorithms. We begin by choosing camera sensitivities Q_(k)(λ) to be the sensors of a Sony DXC-930 camera and we select the chromagenic filter F(λ) to be a non-cut off and non neutral density Wratten photographic filter [11]. Both the sensors and the chosen filter are shown in FIG. 1. We then proceed by synthesizing images using a set of 1995 reflectances and 287 illuminants. Details of both sets can be found in [1].

The chromagenic linear transforms, T_(i) are obtained by generating sensor responses of all the 1995 reflectances under 87 illuminants. The set of 87 lights covers the same gamut as the 287, but is more coarsely sampled. The chromagenic algorithm will select one of the 87 lights as its estimate of the scene illuminant. We assess the accuracy of the estimate by calculating the angular error between the sensor responses to a white reflectance under both the estimated and actual scene illuminant. Angular error is an intensity independent measure of algorithm accuracy and is widely used in the literature [8].

We wish to better understand when the chromagenic algorithm works well and when it fails. While this seems to be a very hard problem to solve, in general we have found that the chromagenic algorithm often delivers good results (low angular error) even when there are few surfaces in a scene. Thus, we propose examining recovery error for single surface scenes. To this end, we calculate all possible RGB triplets for filtered and unfiltered responses, a total of 1995×87×2. For each of the 170,000 unfiltered RGBs, we estimate the illuminant using the 87 transforms matrices (for the 87 training lights in the Simon Fraser protocol). The transform that best fits the RGB to filtered counterpart indexes the RGB for that light. Now we have an estimated light colour and can compare this to the correct illuminant RGB. The angular error ranges from 0 to 42 degrees with a mean of about 9.3 degrees and a median of 5. For this data set, our experiments indicate that an angular error of 3 degrees or less is necessary for digital photography (for acceptable colour cast removal).

Let us take a closer look at the RGBs that comprise the top and bottom 20% of performance. We plot the brightness and saturation of these RGBs in FIGS. 2 a and 2 b. It is clear that low errors correlate with bright RGBs (which are not strongly saturated) and high errors with dark and saturated RGBs. In FIG. 2 c, we plot ellipses calculated for the high and low error sets. Each ellipse accounts for more than 90% of the data. Notice how disjoint the large and small error sets are. Finally we also, for completeness, looked at this error as a function of hue but found no hue dependency.

We see that many of the low error RGBs fall in a region of colour space that is disjoint from those with high error: they are bright and not too saturated. Assuming a uniform distribution of colours n an image, we propose that it is easy to find RGBs (and filtered counterparts) that belong to this preferred set. We simply look for a small percentage of the brightest image regions. We propose that the basic chromagenic algorithm should be modified so that only bright image pixels are considered. The bright-chromagenic algorithm is defined as:

Preprocessing: For a database of m lights E_(i)(λ) and n surfaces S_(i)(λ) calculate T_(i)=Q_(i) ^(F)Q_(i) ⁺ where Q_(i) and Q_(i) ^(F) represent the matrices of unfiltered and filtered sensor responses to the n surfaces under the ith light and + denotes a pseudo-type-inverse

Operation: Given P surfaces in an image we have 3×P matrices Q and Q^(F). From these matrices we choose the r % brightest pixels giving the matrices Q′ and Q′^(F). Then the estimate of the scene illuminant is p_(est) where

${est} = {\min\limits_{i}{\left( {err}_{i} \right)\left( {{i = 1},2,\ldots\mspace{14mu},m} \right)}}$ and err_(i) = T_(i)Q^(′) − Q^(′ F)

Because we are proposing to look only at bright image responses, the transform matrices can be calculated using a least-squares estimator where bright values are weighted more strongly. This is what we mean by a pseudo-type-inverse. However, in our experiments we have not found any strong benefit from fitting only the bright image RGBs. So, for the experiments presented in the next section we use the conventional (unweighted) Moore Penrose inverse.

Synthetic Reflectances and Synthetic Lights

The test on synthetic images is run according to the Simon Fraser testing protocol: we generate 1000 images containing n reflectances n={1, 2, 4, 8, 16, 32} randomly taken from the set of 1995. We then illuminate these images with one light taken at random from the set of 287. Separately, we create our chromagenic transforms using 1995 reflectances under 87 plausible lights. For each image, we use the chromagenic algorithm to find which of the 87 plausible lights is the best scene illuminant estimate. We then calculate the angular error between the estimated and actual lights and compare the errors calculated for the chromagenic and bright chromagenic-algorithms. In all images with more than 2 reflectances, the brightest 3 RGBs are used in the bright-chromagenic computation (the two algorithms are the same for one and two reflectances scenes). The algorithms are evaluated according to the median angular error statistic which has shown to be an appropriate measure for assessing colour constancy algorithms [8].

In FIG. 3 a, one can see the median angular error for both the original and bright-chromagenic versions of the algorithm, FIG. 3 b shows the strong reduction of maximum errors that is achieved. We also combine the chromagenic approach with gamut mapping theory (which rules out lights inconsistent with the image data). Results for gamut mapping with chromagenic or with bright-chromagenic are also shown, including the original chromagenic algorithm with gamut mapping.

In previous work it was shown that statistically (using the Wilcoxon sign test), the hybrid chromagenic plus gamut mapping outperformed all other algorithms. The sign test also reveals that the bright-chromagenic algorithm works as well and bright-chromagenic plus gamut mapping delivers, at the 99% significance level, better performance than all other algorithms.

Real Image Reflectances and Synthetic Lights

We additionally tested these algorithm on reflectance images obtained by Nascimento and Foster [15]. These Images are of typical outdoor scenes. Due to the difficulty of measuring true multispectral radiance only the reflectances in the scene are available (not the radiance spectra). However, for our purpose we can multiply each of these reflectance images by each of the 87 test lights in the Simon Fraser set and then evaluate illuminant estimation performance. This test represents a half-synthetic evaluation.

Over the 8 images we found the bright-chromagenic algorithm delivered the best estimation with a median of 3.5 degrees of angular error which outperformed the original algorithm (6.7 degrees), maxRGB (8.7 degrees) and gray world (13 degrees). Chromagenic plus gamut mapping delivered a median error of 5.6 degrees and bright-chromagenic plus gamut mapping returned a median error of 3 degrees.

Real Images

In our experiment we use the non-specular Simon Fraser Data set, which is described in [1]. This data set consists of 31 objects captured under 11 different illuminants. The 11 illuminants are part of the 87 lights used to train the transforms and the objects are rotated between different illuminants and the images are captured with respect to the Sony DXC930 camera which has known camera sensitivities. Eight of these lights come in pairs, the original lamp light and the lamp filtered through a bluish filter. Since the actual spectra of the illuminants are given as part of the Simon Fraser dataset, we can therefore derive the filter used. The 8 illuminants and the derived filter are shown in FIG. 4. Relative to this filter we obtain the transforms T according to the preprocessing step, using the camera sensitivities, the set of 1995 synthetic reflectances, the 87 illuminants set and the filter derived above.

The corresponding pixels in the two images can be in the same pixel location. However, the images of the Simon Fraser Data set are not necessarily, and can be quite far from, registered. Thus, registration is not required in the bright-chromagenic algorithm. Rather, we simply take the top 1% of the brightest pixels in both filtered and unfiltered images, and place these in correspondence. In other words, the corresponding pixels can be in different locations, with their mean brightness being in the same rank order. Typically these pixels belong to one or two of the surfaces in the scene. We then find which of the 87 transforms best model out data and use this to estimate the RCB of the light.

The angular errors reported in the first two columns of Table 1 show that, despite its simplicity, the bright chromagenic algorithm outperforms in terms of mean error all other algorithms and is as good as any other evaluated in terms of median error and the Wilcoxon sign test at 99% confidence level. The bright-chromagenic algorithm with the additional gamut constraint has the best mean and median error, 4.5 and 3.3 degrees respectively, statistics and, moreover, is found to be statistically better than all other algorithms at the 99% confidence level. The original chromagenic algorithm is not displayed in this table since it requires registered images.

CONCLUSION

Thus it will be seen that, in embodiments of the present invention, a chromagenic illuminant estimation algorithm exploits the relationship between RGBs captured by a conventional camera and those captured through a coloured filters. Different lights induce different relationships and so, the illuminant colour can be estimated by testing precomputed relations in situ. While the chromagenic approach can work well it occasionally works poorly. Moreover, typical chromagenic camera embodiments such as a stereo rig or where there are multiple surveillance cameras (a filter can easily be placed over one camera) do not have pixel registration and this is assumed in chromagenic theory.

As described in connection with embodiments of the present invention, a detailed error analysis demonstrated that bright pixels in images generally lead to small chromagenic estimation errors. This led to the bright-chromagenic algorithm which bases estimation only on a fixed percentage of the brightest pixels in the filtered and unfiltered images. Importantly, these pixels are chosen independently in each image so there is no need for image registration. Experiments on a large set of synthetic and real data demonstrate that the bright-chromagenic algorithm delivers illuminant estimation as good or better than all other algorithms tested. A hybrid algorithm that combines the conventional gamut mapping estimation algorithm with the bright-chromagenic approach delivers better performance than all other algorithms.

Where reference is made in this specification to a filtered and an unfiltered image, one can use instead two filtered images with different filtering,

TABLE 1 Algorithm Mean Median Chr RGB GW DB NN GM CbyC Chromagenic 4.8 3.7 = + + + + = = Max RGB 6.4 4.1 − = + + + − − Grey World 11.9 9.3 − − = − = − − Database GW 10 7 − − + = = − − Neural Network 8.9 7.8 − − = = = − − LP Gamut Mapping 5.5 3.8 = = + + + = = Colour by Corr 6 3.6 = + + + + = = Summary of the results on the Simon Eraser dataset. The table shows mean and median angular error as well as the results of the Wilcoxon sign test at the 99% level, A + indicates that the algorithm in the corresponding row performs significantly (in a strict statistical sense) better than the one in the corresponding column, A − is the other way around, while an = sign means that the two algorithms cannot be separated.

REFERENCES

-   [1] K. Barnard, B. V. Funt, and A. Coath, A data set for color     research. Color Research and Application, pages 148-152, 2002. -   [2] K. Barnard, L. Martin, A. Coath, and B. Funt, A comparison of     computational color constancy algorithms, part one: Methodology and     experiments with synthetic images. IEEE Trans. on Image Processing,     11:972-984, 2002. -   [3] G. Buchsbaum. A spatial processor model for object colour     perception. Journal of the Franklin Institute, 310:1-26, 1980, -   [4] M. D'Zmura and G. Iverson. Color constancy i: Basic theory of     two-stage linear recovery of spectral descriptors for lights and     surfaces. Journal of the Optical Society of America, 10:2148-2165,     1993. -   [5] G. Finlayson, S. Hordley, and P. Morovic. Colour constancy using     the chromagenic constraint. In Computer Vision and Pattern     Recognition (CVPR) 2005, pages 1079-1086, 2005. -   [6] G, D. Finlayson, S. D. Hordley, and P. Hubel. Color by     correlation: A simple, unifying framework of color constancy. IEEE     PAMI, 23:1209-1221, 2001. -   [7] G. D. Finlayson and R. Xu. Convex programming colour constancy.     In IEEE Workshop on Color and Photometric Methods in Computer     Vision, pages-, 2003. -   [8] S. D. Hordley and G. D. Finlayson. Re-evaluating colour     constancy algorithms. In IEEE Conf on Pattern Recognition (ICPR),     pages 76-79, 2004. -   [9] H. Jiang and M. Drew. Tracking objects with shadows. In CME03:     International Conference on Multimedia and Expo, pages 100-105,     2003. -   [10] G. J. Klinker, S. A. Shafer, and T. Kanade, A physical approach     to color image understanding, International Journal of Computer     Vision, 4:7-38, 1990. -   [11] Kodak, Kodak Wratten filters 4th Edition. Kodak Limited London,     1969, -   [12] E. H. Land. The retinex theory of color vision. Scientific     American, pages 108-129, 1977. -   [13] S. Lin and S. Lee. Detection of specularity using stereo in     color and polarization space. Computer Vision and Image     Understanding, 65:336-346, 1997. -   [14] L. T. Maloney and B. A. Wandell. Color constancy: a method for     recovering surface spectral reflectance. Journal of the Optical     Society of America A, 3:29-33, 1986. -   [15] S. M. C. Nascimento, F. Ferreira, and D. H. Foster. Statistics     of spatial cone-excitation ratios in natural scenes. Journal of the     Optical Society of America A, 19:1484-1490, 2002. -   [16] M. J. Swain and D. H. Ballard. Color indexing. International     Journal of Computer Vision, 7:11-32, 1991. 

What is claimed is:
 1. A non-transitory program storage device comprising instructions stored thereon to cause one or more processors to: obtain access to a first image having a first set of spectral components; obtain access to a second image having a second set of spectral components, wherein the first and second images are mutually corresponding images; select a particular fraction of pixels from each of the first and second images in descending order of brightness; and generate a chromagenic illuminant estimation based, at least in part, on the selected particular fraction of pixels.
 2. The non-transitory program storage device of claim 1, wherein the mutually corresponding images have a different filtering.
 3. The non-transitory program storage device of claim 2, wherein the mutually corresponding images comprise a filtered image and an unfiltered image.
 4. The non-transitory program storage device of claim 1, wherein brightness values of pixels in the first image are compared with brightness values of pixels in the second image in rank order.
 5. The non-transitory program storage device of claim 1, wherein the instructions to generate a chromagenic illuminant estimation further comprise instructions to cause the one or more processors to compare pixels in the first image to pixels in the second image, wherein at least of portion of the pixels compared are in the same pixel locations in the first image and the second image.
 6. The non-transitory program storage device of claim 1, wherein 0.5% to 20% of the brightest pixels are selected from each of the first and second images.
 7. The non-transitory program storage device of claim 6, wherein 1% to 3% of the brightest pixels are selected from each of the first and second images.
 8. The non-transitory program storage device of claim 1, wherein the instructions to generate a chromagenic illuminant estimation further comprise instructions to cause the one or more processors to compare m responses in the first image to a corresponding n responses in the second image.
 9. The non-transitory program storage device of claim 1, comprising further instructions stored thereon to cause the one or more processors to perform a gamut mapping process on the estimated illuminant.
 10. The non-transitory program storage device of claim 1, comprising further instructions stored thereon to cause the one or more processors to remove colour bias due to illumination from at least one of the first and second images.
 11. The non-transitory program storage device of claim 10, comprising further instructions stored thereon to cause the one or more processors to render one of the at least one of the first and second images that has had color bias due to illumination removed.
 12. A system, comprising: a display; and one or more processors in communication with the display, wherein the one or more processors are programmed to execute instructions to: select a fraction of the brightest pixels from each of a pair of mutually corresponding images; and perform chromagenic illuminant estimation on at least one of the pair of mutually corresponding images, wherein the pair of mutually corresponding images have different sets of spectral components, and wherein the programmed act of selecting the fraction of the brightest pixels comprises executing instructions to select a particular fraction of pixels from each of the mutually corresponding images in descending order of brightness from the brightest pixel in each of the mutually corresponding images.
 13. The system of claim 12, wherein the mutually corresponding images have a different filtering.
 14. The system of claim 13, wherein the mutually corresponding images comprise a filtered image and an unfiltered image.
 15. The system of claim 12, wherein brightness values of pixels in a first one of the mutually corresponding images are compared with brightness values of pixels in a second one of the mutually corresponding images in rank order.
 16. The system of claim 12, wherein there are compared pixels in the mutually corresponding images which are in the same pixel locations.
 17. The system of claim 12, wherein the one or more processors are further programmed to execute instructions to perform a gamut mapping process on the estimated illuminant.
 18. The system of claim 12, wherein the one or more processors are further programmed to execute instructions to remove colour bias due to illumination from at least one of the mutually corresponding images.
 19. The system of claim 18, wherein the one or more processors are further programmed to execute instructions to render to the display the at least one of the mutually corresponding images which has had color bias due to illumination removed.
 20. A method, comprising: selecting a fraction of the brightest pixels from each of a pair of mutually corresponding images; and performing chromagenic illuminant estimation on at least one of the pair of mutually corresponding images, wherein the pair of mutually corresponding images have different sets of spectral components, and wherein the act of selecting the fraction of the brightest pixels comprises selecting a particular fraction of pixels from each of the mutually corresponding images in descending order of brightness from the brightest pixel in each of the mutually corresponding images. 